package U_V.OEU.xqpx.wcms.sort;
//import java.io.BufferedReader;

//import java.io.InputStream;
//import java.io.InputStreamReader;
//import java.util.HashMap;
//20200314 集成了最新的小高峰过滤催化排序5代思想。
//20200818 集成了最新的小高峰过滤催化排序9代思想。
//增加同拼音同笔画的字按char的int大小区分20210529
//罗瑶光
//import java.util.Map;
//import SVQ.stable.S_File;
//import PEU.S.verbal.VerbalSource;
//今天将新陈代谢技术应用到 chinesePinYin笔画分词上.

/*
 * 个人著作权人, 作者 罗瑶光, 浏阳
 * yaoguangluo@outlook.com, 313699483@qq.com, 2080315360@qq.com,
 * (lyg.tin@gmail.com2018年回国后因国内G网屏蔽不再使用）
 * 15116110525-浏阳德塔软件开发有限公司-创始人-法人-总经理-永久非盈利-
 * 430181198505250014, G24402609, EB0581342
 * 204925063, 389418686, F2406501, 0626136
 * 湖南省 浏阳市 集里街道 神仙坳社区 大塘冲一段路 208号 阳光家园别墅小区 第十栋别墅 第三层
 * */

public class LYG10D13D_X_CA extends LYG10D13D_X_S implements
	LYG10D13D_X_CAC {
	public boolean findSmall(String[] kernel, int scale, int point,
		int i, int j, int rightPosition) {
		if (kernel[i].length() <= point || kernel[j]
			.length() <= point) {
			if (kernel[i].length() >= kernel[j].length()) {
				return false;
			}
			for (int p = 0; p < scale; p++) {
				if (!(kernel[i].length() <= p || kernel[j]
					.length() <= p)) {
					if (kernel[i].charAt(p) != kernel[j].charAt(p)) {
						return false;
					}
				}
			}
			return true;
			//return false; //去伪指令
		} //减少包含关系
		boolean hasXi = pinyin.containsKey("" + kernel[i].charAt(
			point));
		boolean hasXj = pinyin.containsKey("" + kernel[j].charAt(
			point));
		if (!(!hasXi || !hasXj)) {
			String[] js = new String[2];
			js[0] = this.pinyin.get("" + kernel[i].charAt(point));
			js[1] = this.pinyin.get("" + kernel[j].charAt(point));
			boolean change = processSortpinyin(js, 3);
			return !(!change || i >= j);
		} //return标识减少包含关系
		if (!(hasXi || hasXj)) {
			if (kernel[i].toLowerCase().charAt(point) > kernel[j]
				.toLowerCase().charAt(point)) {
				return i < j;
			}
			if (kernel[i].toLowerCase().charAt(point) != kernel[j]
				.toLowerCase().charAt(point)) {
				return false;
			}
			if (kernel[i].charAt(point) > kernel[j].charAt(point)) {
				return i < j;
			}
			return false;
		}
		if (hasXi) {
			return false;
		}
		if (i < j) {
			return !(i == rightPosition || j == rightPosition);
		}
		return false;
	}
}
